﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ServiceModel;
using System.ServiceModel.Web;

namespace Obra.SmugMug.Api
{
    /// <summary>
    /// Client convenience methods for change image settings.  See 
    /// <see cref="ISmugMugAlbumsChangeSettings"/> for details.
    /// </summary>
    [ServiceContract]
    [XmlSerializerFormat]
    public interface ISmugMugImagesChangeSettings
    {
        [OperationContract]
        [WebGet(UriTemplate = UriTemplates.Images.ChangeAlbum)]
        void ChangeImageAlbum(
            string sessionId,
            int imageId,
            int albumId);

        [OperationContract]
        [WebGet(UriTemplate = UriTemplates.Images.ChangeCaption)]
        void ChangeImageCaption(
            string sessionId,
            int imageId,
            string caption);

        [OperationContract]
        [WebGet(UriTemplate = UriTemplates.Images.ChangeHidden)]
        void ChangeImageHidden(
            string sessionId,
            int imageId,
            bool hidden);

        [OperationContract]
        [WebGet(UriTemplate = UriTemplates.Images.ChangeKeywords)]
        void ChangeImageKeywords(
            string sessionId,
            int imageId,
            string keywords);

        [OperationContract]
        [WebGet(UriTemplate = UriTemplates.Images.ChangePosition)]
        void ChangeImagePosition(
            string sessionId,
            int imageId,
            int position);
    }
}
